#ifndef MEMORYOPENGL_H
#define MEMORYOPENGL_H

#include <windows.h>
#include <GL/gl.h>

// class MemoryOpenGL
class MemoryOpenGL
{
public:
    MemoryOpenGL();
    virtual ~MemoryOpenGL();

public:
    bool    initOpenGL(int width, int height);
    void    finiOpenGL();
    int     getWidth();
    int     getHeight();
    void *  getBits();
    HDC     getDC();

private:
    int     createMemoryBitmap(int width, int height);
    int     initMemoryOpenGL();

private:
    BITMAPINFO          mBitmapInfo;
    int                 mWidth;
    int                 mHeight;
    int                 mBitCount;
    void *              mBits;
    HBITMAP             mBitmap;
    HBITMAP             mOldBitmap;
    HDC                 mMemoryDC;
    HGLRC               mGLContext;
};

#endif // MEMORYOPENGL_H